﻿#宏定义 换行符 "\r\n"
雷电模拟器操作类 ld // 多个雷电窗口也只需要实例化一个对象
OP对象类 op // 一个实例化对象绑定操作一个雷电模拟器窗口
OP对象类 op数组[3] // 要操作多个模拟器窗口,则使用数组形式,详见函数OP鼠标()中有示例
文本型 全_操作索引 // 便于点击操作

// 注意,千万注意,雷电模拟器是-32位,具体可以在任务管理器中查看
// 因此请注意设置为X86,否则OP插件无法绑定
// 再特别强调OP插件必须为发布版才可正常使用,调试版无效,模块也有说明

函数 空类型 初始化()
	文本型 局_模拟器路径 = 打开文件对话框("", "", "ldconsole.exe|ldconsole.exe", 假, 空)
	主窗口._编辑框_路径.置文本(局_模拟器路径)
	文本型 局_初始化结果 = ld.初始化(主窗口._编辑框_路径.取文本())
	// 实际上并没有判断是否初始化成功,路径为".\\ldconsole"和".\\ld"即为成功
	主窗口._编辑框_日志.添加文本(文本组合("初始化成功!路径:", 换行符, 局_初始化结果, 换行符))
	// 创建测试用模拟器
	主窗口._编辑框_日志.添加文本(文本组合("开始创建测试模拟器:CN_test", 换行符))
	ld.模拟器添加("CN_test")
	主窗口._编辑框_日志.添加文本(文本组合("创建完成,正在启动", 换行符))
	ld.模拟器启动("CN_test",)
	op.系统_延时(2000)
	主窗口._编辑框_日志.添加文本(文本组合("CN_test运行状态:", ld.模拟器是否在运行("CN_test",), 换行符))
	返回
	
函数 空类型 绑定测试()
	动态数组<雷电模拟器信息> 局_模拟器信息数组
	ld.模拟器遍历信息(&局_模拟器信息数组)
	整型 局_绑定结果 = 0
	// 绑定测试模拟器
	如果 (局_模拟器信息数组.取大小())
		列表循环 (整型 i = 0; 局_模拟器信息数组)
			如果 (局_模拟器信息数组[i].名称 == "CN_test")
				局_绑定结果 = op.绑定_绑定窗口句柄(文本到整型(局_模拟器信息数组[i].绑定句柄), "opengl", "windows", "windows", 0)
				调试输出(局_模拟器信息数组[i].绑定句柄, 局_绑定结果)
				主窗口._编辑框_日志.添加文本(文本组合("绑定句柄:", 局_模拟器信息数组[i].绑定句柄, "转换后:", 文本到整型(局_模拟器信息数组[i].绑定句柄), 换行符))
				全_操作索引 = 局_模拟器信息数组[i].索引
				跳出
	主窗口._编辑框_日志.添加文本(文本组合("绑定结果:", 局_绑定结果, 换行符))
	op.全局_置全局路径(取运行目录())
	主窗口._编辑框_日志.添加文本(文本组合("op全局路径:", op.全局_取全局路径(), 换行符))
	主窗口._编辑框_日志.添加文本(文本组合("op已绑定窗口句柄为:", op.绑定_取已绑定窗口句柄(), 换行符))
	返回
	
函数 空类型 后台截图()
	// 默认是雷电游戏中心
	op.图色_区域截图到文件(294, 140, 415, 258, "test.bmp")
	主窗口._编辑框_日志.添加文本(文本组合("截图已保存:", op.全局_取全局路径(), 换行符))
	返回
	
函数 空类型 后台找图()
	long x = 0, y = 0
	// 灰度找图,用法和大漠几乎一样
	op.图色_区域找图(0, 0, 600, 600, "test.bmp", "20", 0.9, 0, &x, &y)
	主窗口._编辑框_日志.添加文本(文本组合("找图结果:x:", x, " y:", y, 换行符))
	返回

函数 空类型 OP鼠标()
	主窗口._编辑框_日志.添加文本(文本组合("采用数组方法取版本号,op数组[0]:", op数组[0].全局_取版本号(), 换行符))
	主窗口._编辑框_日志.添加文本(文本组合("采用数组方法取版本号,op数组[1]:", op数组[1].全局_取版本号(), 换行符))
	主窗口._编辑框_日志.添加文本(文本组合("采用数组方法取版本号,op数组[2]:", op数组[2].全局_取版本号(), 换行符))

	// 可以用OP的鼠标,也可以用雷电模拟器操作类的点击操作,OP写法过于简单,略过
	// op.鼠标_移动()
	// op.鼠标_左键单击()
	返回

函数 空类型 雷电输入()
	// 588 92 搜索栏,先点击它,再输入文字
	ld.ld_点击("588", "92", 全_操作索引)
	ld.动作_文字输入("微信",, 全_操作索引)
	主窗口._编辑框_日志.添加文本(文本组合("按道理来说应该已经输入成功了!", 换行符))
	返回
	
函数 空类型 雷电点击()
	// 588 92 搜索栏,先点击它,再输入文字
	ld.ld_点击("588", "92", 全_操作索引)
	返回




	





	

	

